﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _4Gewinnt
{
    /// <summary>
    /// RENAME EngineGroupXXX BY EXCHANGING XXX WITH YOUR GROUP NUMBER
    /// </summary>
    class EngineGroupXXX : Engine
    {
        /// <summary>
        /// The opponent
        /// </summary>
        private GameColor op;
        /// <summary>
        /// The number of token in a row needed to win
        /// </summary>
        private int ttw = 4;

        /// <summary>
        /// Initializes the engine. DO NOT CHANGE THE SIGNATURE OF THIS CONSTRUCTOR (but please change its name
        /// by replacing XXX with your group number). You can also add(!) some initialization code, if you want to.
        /// </summary>
        /// <param name="me"></param>
        public EngineGroupXXX(GameColor me)
        {
            //learn own and opponent's color
            this._me = me;
            switch (me)
            {
                case GameColor.Red:
                    op = GameColor.Blue;
                    break;
                case GameColor.Blue:
                    op = GameColor.Red;
                    break;
                case GameColor.Empty:
                    throw new Exception("Wrong initialization color.");
                default:
                    throw new Exception("Wrong initialization color.");
            }
        }

        /// <summary>
        /// Makes a move in the current situation
        /// </summary>
        /// <returns>The row number where to set a token</returns>
        public override int makeMove()
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Gets the move of the opponent
        /// </summary>
        /// <param name="c">The column where the opponent has moved</param>
        public override void update(int c)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Called after each engine's turn. null means "nothing to say"
        /// </summary>
        /// <returns>A message a engine can send after each own turn</returns>
        public override string say()
        {
            throw new NotImplementedException();
        }
    }
}
